﻿#define _CRT_SECURE_NO_WARNINGS
/*给你一个数组 nums 和一个值 val，你需要 原地 移除所有数值等于 
val 的元素，并返回移除后数组的新长度。
不要使用额外的数组空间，你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
*/
//法一
//int removeElement(int* nums, int numsSize, int val)
//{
//	int len = 0;
//	for (int i = 0; i < numsSize; i++)
//	{
//		if (nums[i] != val)
//		{
//			nums[len] = nums[i];
//			len++;
//		}
//	}
//	return len;
//}

//法二
int removeElement(int* nums, int numsSize, int val)
{
	int len = 0;
	for (int i = 0; i < numsSize; i++)
	{
		if (nums[i] == val)
		{
			continue;
		}
		nums[len] = nums[i];
		len++;
	}
	return len;
}
